#include <crt_util.h>

int _msgq_init(_msgq_t* msgq)
{
    rc_error(msgq != NULL, S_ERROR);
    _queue_init(&msgq->queue);
    return S_SUCCESS;
}
int _msgq_destroy(_msgq_t* msgq)
{
    rc_error(msgq != NULL, S_ERROR);

    return S_SUCCESS;
}
int _msgq_produce(_msgq_t* msgq, _msg_q* queue)
{
    rc_error(msgq != NULL, S_ERROR);
    _queue_insert_tail(&msgq->queue, queue);
    return S_SUCCESS;
}
int _msgq_consume(_msgq_t* msgq, _msg_q* queue)
{
    rc_error(msgq != NULL, S_ERROR);
    _msg_q* q = _queue_head(&msgq->queue);
    _queue_split(&msgq->queue, q, queue);
    return S_SUCCESS;
}
